﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace Ocean.His.MedicalInsurance
{
    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class SI4503Data
    {
        /// <summary>
        /// 就医流水号
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：Y
        /// 院内唯一号
        /// </summary>
        [DataMember(Name = "mdtrt_sn")]
        public string MdtrtSn { get; set; }

        /// <summary>
        /// 就诊ID
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：
        /// 医保病人必填
        /// </summary>
        [DataMember(Name = "mdtrt_id")]
        public string MdtrtId { get; set; }

        /// <summary>
        /// 人员编号
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：
        /// 医保病人必填
        /// </summary>
        [DataMember(Name = "psn_no")]
        public string PsnNo { get; set; }

        /// <summary>
        /// 申请单号
        /// 参数类型：字符型
        /// 参数长度：50
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "appy_no")]
        public string AppyNo { get; set; }

        /// <summary>
        /// 报告单号
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "rpotc_no")]
        public string RpotcNo { get; set; }

        /// <summary>
        /// 细菌代号
        /// 参数类型：字符型
        /// 参数长度：100
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "germ_code")]
        public string GermCode { get; set; }

        /// <summary>
        /// 细菌名称
        /// 参数类型：字符型
        /// 参数长度：100
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "germ_name")]
        public string GermName { get; set; }

        /// <summary>
        /// 菌落计数
        /// 参数类型：字符型
        /// 参数长度：10
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "coly_cntg")]
        public string ColyCntg { get; set; }

        /// <summary>
        /// 培养基
        /// 参数类型：字符型
        /// 参数长度：100
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "clte_medm")]
        public string ClteMedm { get; set; }

        /// <summary>
        /// 培养时间
        /// 参数类型：日期时间型
        /// 参数长度：
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "clte_time")]
        public string ClteTime { get; set; }

        /// <summary>
        /// 培养条件
        /// 参数类型：字符型
        /// 参数长度：30
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "clte_cond")]
        public string ClteCond { get; set; }

        /// <summary>
        /// 检验结果
        /// 参数类型：字符型
        /// 参数长度：2000
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "exam_rslt")]
        public string ExamRslt { get; set; }

        /// <summary>
        /// 发现方式
        /// 参数类型：字符型
        /// 参数长度：100
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "fnd_way")]
        public string FndWay { get; set; }

        /// <summary>
        /// 检验机构名称
        /// 参数类型：字符型
        /// 参数长度：700
        /// 代码标识：
        /// 是否必填：
        /// 
        /// </summary>
        [DataMember(Name = "exam_org_name")]
        public string ExamOrgName { get; set; }

        /// <summary>
        /// 有效标志
        /// 参数类型：字符型
        /// 参数长度：3
        /// 代码标识：Y
        /// 是否必填：Y
        /// 
        /// </summary>
        [DataMember(Name = "vali_flag")]
        public string ValiFlag { get; set; }

    }

    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class SI4503InputModel
    {
        [DataMember(Name = "data")]
        public SI4503Data si4503Data { get; set; }
    }



    /// <summary>
    /// 4503
    /// 细菌培养报告记录
    /// </summary>
    [DataContract]
    public class SI4503RequestModel : SIBaseRequestModel
    {
        /// <summary>
        /// 交易输入
        /// </summary>
        [DataMember(Name = "input")]
        public SI4503InputModel Input { get; set; }

        public SI4503RequestModel(MedicalInsuranceOption config) : base(config)
        {
            Infno = "4503";
        }
    }
}
